import pandas as pd

# Series的创建
s = pd.Series([1, 2, 3, 4, 5])
print(s)
# 0    1
# 1    2
# 2    3
# 3    4
# 4    5
# dtype: int64

# 自定义索引

s = pd.Series([1, 2, 3, 4, 5], index=['A', 'B', 'C', 'D', 'E'])
print(s)
# A    1
# B    2
# C    3
# D    4
# E    5
# dtype: int64

s = pd.Series([1, 2, 3, 4, 5], index=['A', 'B', 'C', 'D', 'E'], name="月份")
print(s)
# A    1
# B    2
# C    3
# D    4
# E    5
# Name: 月份, dtype: int64


# 通过字典来创建
s = pd.Series({'A': 2, 'B': 3, 'C': 5, 'D': 6, 'E': 8, }, name="月份")
print(s)
# A    2
# B    3
# C    5
# D    6
# E    8
# Name: 月份, dtype: int64

s1 = pd.Series(s, index=['A', 'C'])
print(s1)
# A    2
# C    5
# Name: 月份, dtype: int64


# Series的属性
print("s:\n", s)
print("属性 index：", s.index)
# 属性 index： Index(['A', 'B', 'C', 'D', 'E'], dtype='object')
print("属性 values：", s.values)
# 属性 values： [2 3 5 6 8]
print("属性 shape：", s.shape)
print("属性 ndim：", s.ndim)
print("属性 size：", s.size)
print("属性 dtype：", s.dtype)
s.name = 's-test'
print("属性 name：", s.name)
# 属性 shape： (5,)
# 属性 ndim： 1
# 属性 size： 5
# 属性 dtype： int64
# 属性 name： s-test


print(s.loc['B'])   # 显式索引
print(s.iloc[1])    # 隐式索引
# 3
# 3
print(s.loc['B': 'E'])   # 显式索引
# B    3
# C    5
# D    6
# E    8
print(s.iloc[1: 4])    # 隐式索引
# B    3
# C    5
# D    6

print(s.at['D'])
print(s.iat[3])
# 6
# 6


# Series的数据访问
print(s['C'])
# 5
print(s[s < 3])
# A    2
# Name: s-test, dtype: int64
s['F'] = 10
print(s.head())
# A    2
# B    3
# C    5
# D    6
# E    8
# Name: s-test, dtype: int64
print(s.tail())
# B     3
# C     5
# D     6
# E     8
# F    10
# Name: s-test, dtype: int64

